package edu.ues21.tcs.ecommerce2011.mvc.dao;

import java.util.List;
import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.transaction.annotation.Transactional;
import edu.ues21.tcs.ecommerce2011.mvc.model.DetallePedido;
/**
*
* @author eandre fmantaras
*/
@Transactional
public class DetallePedidoDAOImpl implements DetallePedidoDAO{

	// Declaro el hibernate template.
	private HibernateTemplate hibernateTemplate;

	// Le seteo el sessionFactory que le inyecto al hibernateTemplate.
	public void setSessionFactory(SessionFactory sessionFactory) {
		this.hibernateTemplate = new HibernateTemplate(sessionFactory);
	}

	@Transactional
	public void save(DetallePedido detallepedido) {

		hibernateTemplate.merge(detallepedido);
	}

	@Transactional
	public void delete(Integer idDetallePedido) {

		DetallePedido detallepedido = (DetallePedido) hibernateTemplate.load(DetallePedido.class,idDetallePedido);
		
		hibernateTemplate.delete(detallepedido);
	}

	@SuppressWarnings("unchecked")
	@Transactional(readOnly = true)
	public List<DetallePedido> getAll() {

		return hibernateTemplate.find("from DetallePedido");
	}
	@SuppressWarnings("unchecked")
	@Transactional(readOnly = true)
	public List<DetallePedido> getAll(Integer idPedido) {

		return hibernateTemplate.find("from DetallePedido where pedido="+idPedido);
	}
	@Transactional(readOnly = true)
	public DetallePedido getDetallePedido(Integer idDetallePedido) {

		return hibernateTemplate.get(DetallePedido.class, idDetallePedido);
	}




}
